import { createElement, createTextElement } from './vnode/index.js'

export function renderMixin(Vue){
    Vue.prototype._c = function(){
        // 生成vnode对象描述dom标签节点
      return createElement(this,...arguments)
    }
    Vue.prototype._v = function(text){
        // 生成vnode对象描述dom文本节点
        return createTextElement(this,text)
    }
    Vue.prototype._s = function(val){
        if(typeof val === 'object') return JSON.stringify(val);
        return val
    }
    Vue.prototype._render = function(){
        // 调用optiosn.render方法 生成虚拟dom
        const vm = this
        const render = vm.$options.render
        const vnode = render.call(vm)
        return vnode
    }
}